﻿using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using Sustainalytics.Auth.Claims;
using Sustainalytics.Entities;
using System;
using System.Collections.Generic;

namespace Sustainalytics.ClientDW.Entities.Universes
{
    public class FeatureUniverse : IEntity, IAccountRelatedEntity
    {
        public FeatureUniverse()
        {
            this.Id = Guid.NewGuid();
        }

        public Guid Id { get; set; }
        public Guid AccountId { get; set; }
        
        [BsonRepresentation(BsonType.String)]
        public AccountFeature Feature { get; set; }
        public List<int> UniverseIds { get; set; }

        public override string ToString()
        {
            return string.Format("AccountId: {0}, Feature: {1}, UniverseIds: {2}", AccountId, Feature, string.Join(" ", UniverseIds));
        }
    }
}
